package main

import "fmt"

func main() {

	//--------------------------------------------------------------------------------------
	//布尔类型
	var b1 bool = false

	println(b1)
	//--------------------------------------------------------------------------------------
	// 数值类型
	/*
		整型 int 和浮点型 float32、float64，Go 语言支持整型和浮点型数字，并且支持复数，其中位的运算采用补码。
	*/

	var age int = 123        //定义一个整型
	var money float64 = 3.14 //定义一个浮点型 默认打印出来是保留六位小数3.140000
	fmt.Printf("%T,%f\n", age, money)
	fmt.Printf("%T,%.2f\n", age, money)

	//---------------------------------------------------------------------------------------

	//字符串类型
	var str string
	str = "yaoliuyang"
	fmt.Printf("%T,%s\n", str, str)

	//单引号
	A1 := 'A'
	A2 := "A"
	fmt.Printf("%T,%d\n", A1, A1) //int32,65  编码表 对应ASCII字符表   扩展:中文字符对应编码表:GBK  全世界的编码表:Unicode
	fmt.Printf("%T,%s\n", A2, A2) //string,A

	// 字符串连接
	fmt.Println("hello," + "world")
	//转义字符 \
	fmt.Println("我要显示双引号\"\"看到了没,我要显示\\n看到了没")

	//---------------------------------------------------------------------------

	/*
	   转换后的变量:=要转换的类型(变量)
	   备注:整型是不能转化为bool类型的
	*/
	//数据类型转换
	a := 5   //int
	b := 5.0 //float64

	//需求：将int 类型的a转换为 float64类型
	c := float64(a)
	d := float64(b)

	// bool 整型是不能转化为bool类型的
	// e :=bool(a)

	fmt.Printf("%T,%d\n", a, a)
	fmt.Printf("%T,%d\n", b, b)
	fmt.Printf("%T,%d\n", c, c)
	fmt.Printf("%T,%d\n", d, d)

	//--------------------------------------------------------------------------------------

}
